// 对于axios进行二次封装
import axios from "axios";

//底下的代码也是创建axios实例
const requests = axios.create({
    // 基础路径，发请求时，路径当中会出现 api
    baseURL: "/api",
    // 请求不能超过 5S
    timeout: 5000,
});

//请求拦截器
requests.interceptors.request.use((config) => {
    // config：配置对象
    return config;
});

//响应拦截器
requests.interceptors.response.use(
    (res) => {
        // 响应成功的回调函数，返回数据
        // nprogress.done();
        return res.data;
    },
    (error) => {
        // 响应失败的回调函数
        return Promise.reject(error);
    }
);
//最终需要对外暴露（不对外暴露外面模块没办法使用）
//这里的代码是暴露一个axios实例
export default requests;
